import 'package:flutter/material.dart';
import 'package:manual/config/app_config.dart';
import 'package:manual/providers/theme_provider.dart';
import 'package:manual/routes/router_button_list.dart';
import 'package:manual/theme/app_theme.dart';
import 'package:provider/provider.dart';

// MyApp 是根组件  继承自 StatelessWidget   代表应用本身也是一个 widget
// StatelessWidget 代表的是没有内部状态的组件，通常用于静态内容或不需要更新的组件。

class MyApp extends StatelessWidget {
  final AppConfig config;
  const MyApp({super.key , required this.config});
  @override
  // build方法 构建UI  返回一个 Widget
  Widget build(BuildContext context) {
    final themeProvider = Provider.of<ThemeProvider>(context); // 加载theme
    // MaterialApp 是 Flutter 中一个用于设置应用的基础配置的组件，包括主题、路由等。MaterialApp 是大多数 Flutter 应用的根组件。
    return MaterialApp(
      title: config.appName,
      theme: AppThemes.lightTheme, // 亮色主题
      darkTheme: AppThemes.darkTheme, // 暗色主题
      themeMode: themeProvider.themeMode,
      //设置应用的首页为 MyHomePage，并传递标题参数。
      home: const RouteButtonList(),
    );
  }
}
